﻿YUI.add('editar-curso-view', function (Y) {
    'use strict';
    Y.EditarCurso = Y.Base.create('EditarCurso', Y.View, [], {
        templateIsCharged: false,
        loadTemplate: function () {
            if (this.template == '') {
                var that = this,
                validator = null,
                request = Y.io('/ExcellentProject/scripts/views/calificaciones/cursos/templates/editarCurso.html', {
                    on: {
                        complete: function (id, response) {
                            that.templateIsCharged = true;
                            that.template = response.responseText;

                            that.render();
                        }
                    },
                    failure: function (id, response) {
                        alert(response)
                    }
                })
            }
        },
        events: {
            '.guardar': {
                click: 'guardarPeriodo'
            }
        },

        render: function () {
            this.loadTemplate();
            if (this.templateIsCharged) {
                var contentTemplate = Y.Handlebars.compile(this.template);
                this.get('container').setHTML(contentTemplate(this.get('model').getAttrs()));

                Y.one('#seleccionarPeriodo').set('href', '/cursos/:idPeriodo/' + this.get('model').get('IdPeriodo'))

            }
        },

        guardarPeriodo: function (ev) {
            var model = this.get('model');
            model.setAttrs({
                NombreCurso: Y.one('#nombre').get('value'),
                Descripcion: Y.one('#descripcion').get('value'),
                Estado: Y.one('#estado').get('value')
            });
            var options = null;
            if (model.get('IdCurso') != 0)
                options = { action: 'update', idPerid: model.get('IdCurso') };
            else
                options = { urlName: 'saveOption' };
            var that = this, a = model.save(options, function (err, response) {
                if (err != null)
                    alert('Ocurrieron problemas al actualizar el periodo seleccionado')
                else {
                    model.setAttrs(Y.JSON.parse(response.responseText))

                    Y.one('#navigateSeleccionDocente').set('href', '/cursos/registrardocente/' + model.get('IdCurso'))
                    Y.one('#navigateSeleccionDocente').simulate("click");

                }
            });

        }
    })

}, '0.0.0.1', {
    requires: ['view', 'handlebars', 'handlebars-select-helper', 'node', 'curso-model',
        'periodo-model-list', 'periodo-model', 'json-parse', 'event', 'node-event-simulate']
})